The process document

The provider class

The provider class associated by default to the process documents is: DefaultProcessDocumentProvider. Its full name is com.axemble.vdp.ui.core.providers.documents.DefaultProcessDocumentProvider. You may define your own provider class thanks to the screens definition file (as the other screens).

Example of "process document" screen overridden

In this example, several standard settings are made:

  • The screen named [treatment, edit] corresponding to the one of the process document is overridden.
  • The document header is displayed and locked;
  • The document history is hidden but can be activated with the History button;
  • The display rules of cancellation, reminding, delegation buttons are locked and only the creator can activate the "Cancel my request" button, only the past contributors can activate the "Remind" button.
  • Three buttons are added to the document. The first one is a navigation button to access the process management. The second one enables to display the help. It points at a local link on the server. The last one enables to display an external web page.
  • The "Save" button is hidden for every documents;
  • At last, a process document provider is associated to the screen.

Example of a provider class associated to a process document

public class DemoProvider extends AbstractProcessDocumentProvider
{
  public DemoProvider(INavigateContext context,AbstractDocument document,CtlAbstractDocument 
    abstractDocument )
  {
    super( context, document, abstractDocument );
  }
  public boolean evaluateAbortRules()
  {
    // if the value sent back is “true”, the cancellation button will display
    return false;
  }
  public boolean evaluateDelegateRules()
  {
    // if the value sent back is “true”, the delegation button will display
    return false;
  }
  public boolean evaluateReminderRules()
  {
    // if the value sent back is “true”, the remind button will display
    return false;
  }
  public void readyState()
  {
    super.readyState();

    // here it is possible to add, hide buttons,
    // assigning some document values.
  }
}